package com.sgai.zero_robot.database;

import android.content.Context;

import androidx.room.Database;
import androidx.room.Room;
import androidx.room.RoomDatabase;


@Database(entities = {ZeroDetectionEntity.class}, version = 1, exportSchema = false)
public abstract class AppDatabase extends RoomDatabase {
    public abstract ZeroDetectionDao taskDao();

    public static AppDatabase appDatabase;

    // 获得UserInfoDatabase的实例
    /// 写法和SQLiteOpenHelper一致，用单例模式
    // room默认不能在主线程中操作数据库，因为数据库是一个耗时操作
    // 实际项目中，默认使用异步 --自学
    public static AppDatabase getInstance(Context context) {
        if (appDatabase == null) {
            // 数据库的名字
            appDatabase = Room.databaseBuilder(context.getApplicationContext(),
                            AppDatabase.class, "detection-history")
                    // 强制开启在主线程中操作数据库
                    .allowMainThreadQueries()
                    .fallbackToDestructiveMigration(true)
                    .build();
        }
        return appDatabase;
    }
}